package com.sky.robot.frame.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author sky
 * @since 2024-09-25
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("sky_func_form_item")
public class SkyFuncFormItem implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    /**
     * formId
     */
    @TableField("form_id")
    private String formId;

    /**
     * functionId
     */
    @TableField("function_id")
    private String functionId;

    /**
     * 表数据ID
     */
    @TableField("table_id")
    private String tableId;

    /**
     * 数据表字段
     */
    @TableField("col_code")
    private String colCode;

    /**
     * 字段名
     */
    @TableField("col_name")
    private String colName;

    /**
     * 字段类型0:字符串1:整形2:浮点数
     */
    @TableField("col_type")
    private String colType;

    /**
     * 字段长度
     */
    @TableField("col_length")
    private Object colLength;

    /**
     * 小数点
     */
    @TableField("col_decimal_point")
    private String colDecimalPoint;

    /**
     * 是否主键
     */
    @TableField("col_is_key")
    private String colIsKey;

    /**
     * 是否为空0:可以为空，1:不可以为空
     */
    @TableField("col_is_null")
    private String colIsNull;

    /**
     * 注释
     */
    @TableField("col_annotation")
    private String colAnnotation;

    /**
     * 对应的表明
     */
    @TableField("table_name")
    private String tableName;

    /**
     * 是否启用0:是1:否
     */
    @TableField("is_use")
    private String isUse;

    /**
     * 是否必填0:是1:否
     */
    @TableField("is_required")
    private String isRequired;

    /**
     * 是否只读
     */
    @TableField("item_readonly")
    private String itemReadonly;

    /**
     * 表单项编码
     */
    @TableField("item_code")
    private String itemCode;

    /**
     * 表单项名称
     */
    @TableField("item_name")
    private String itemName;

    /**
     * 字段配置
     */
    @TableField("item_config")
    private String itemConfig;

    /**
     * 表单项类型
     */
    @TableField("item_type")
    private String itemType;

    /**
     * 输入元素
     */
    @TableField("input_element")
    private String inputElement;

    /**
     * 是否不能为空
     */
    @TableField("is_notnull")
    private String isNotnull;

    /**
     * 是否列表字段
     */
    @TableField("is_list")
    private String isList;

    /**
     * 列表隐藏
     */
    @TableField("list_hide")
    private String listHide;

    /**
     * 列表可修改
     */
    @TableField("list_edit")
    private String listEdit;

    /**
     * 列表排序
     */
    @TableField("list_order")
    private Integer listOrder;

    /**
     * 快速查询项
     */
    @TableField("is_query")
    private String isQuery;

    /**
     * 查询类型0:模糊查询1:精准查询
     */
    @TableField("query_type")
    private String queryType;

    /**
     * 输入框长度
     */
    @TableField("input_width")
    private Integer inputWidth;

    /**
     * 字段宽度
     */
    @TableField("item_width")
    private String itemWidth;

    /**
     * 对其方式
     */
    @TableField("align_type")
    private String alignType;

    /**
     * 卡片字段
     */
    @TableField("is_card")
    private String isCard;

    /**
     * 卡片隐藏
     */
    @TableField("card_hide")
    private String cardHide;

    /**
     * 默认值
     */
    @TableField("card_default")
    private String cardDefault;

    /**
     * 卡片排序
     */
    @TableField("card_order")
    private Integer cardOrder;

    /**
     * 占用列数
     */
    @TableField("card_column")
    private Integer cardColumn;

    /**
     * 组件id
     */
    @TableField("comp_id")
    private String compId;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 0:是1:否
     */
    @TableField("del_flag")
    private String delFlag;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;
}
